home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / man / cat3 / XmCascadeButton.z / XmCascadeButton
Encoding:
Text File  |  2003-11-18  |  23.0 KB  |  463 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV       XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       _X_m_C_a_s_c_a_d_e_B_u_t_t_o_n - The    CascadeButton widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.       #include <Xm/CascadeB.h>
  13.  
  14.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.       CascadeButton    links two MenuPanes or a MenuBar to a
  16.       MenuPane.
  17.  
  18.       It is    used in    menu systems and must have a RowColumn parent
  19.       with its _X_m_N_r_o_w_C_o_l_u_m_n_T_y_p_e resource set to _X_m_M_E_N_U__B_A_R,
  20.       _X_m_M_E_N_U__P_O_P_U_P or _X_m_M_E_N_U__P_U_L_L_D_O_W_N.
  21.  
  22.       It is    the only widget    that can have a    Pulldown MenuPane
  23.       attached to it as a submenu.    The submenu is displayed when
  24.       this widget is activated within a MenuBar, a PopupMenu, or a
  25.       PulldownMenu.     Its visuals can include a label or pixmap and
  26.       a cascading indicator    when it    is in a    Popup or Pulldown
  27.       MenuPane; or,    it can include only a label or a pixmap    when
  28.       it is    in a MenuBar.
  29.  
  30.       The default behavior associated with a CascadeButton depends
  31.       on the type of menu system in    which it resides.  By default,
  32.       _B_S_e_l_e_c_t controls the behavior    of the CascadeButton.  In
  33.       addition, _B_M_e_n_u controls the behavior    of the CascadeButton
  34.       if it    resides    in a Menu system.  The actual mouse button
  35.       used is determined by    its RowColumn parent.
  36.  
  37.       A CascadeButton's visuals differ from    most other button
  38.       gadgets.  When the button becomes armed, its visuals change
  39.       from a 2-D to    a 3-D look, and    it displays the    submenu    that
  40.       has been attached to it.  If no submenu is attached, it
  41.       simply changes its visuals.
  42.  
  43.       When a CascadeButton within a    Pulldown or Popup MenuPane is
  44.       armed    as the result of the user moving the mouse pointer
  45.       into the widget, it does not immediately display its
  46.       submenu.  Instead, it    waits a    short amount of    time to    see if
  47.       the arming was temporary (that is, the user was simply
  48.       passing through the widget), or whether the user really
  49.       wanted the submenu posted.  This time    delay is configurable
  50.       via _X_m_N_m_a_p_p_i_n_g_D_e_l_a_y.
  51.  
  52.       CascadeButton    provides a single mechanism for    activating the
  53.       widget from the keyboard.  This mechanism is referred    to as
  54.       a keyboard mnemonic.    If a mnemonic has been specified for
  55.       the widget, the user may activate the    CascadeButton by
  56.       simply typing    the mnemonic while the CascadeButton is
  57.       visible.  If the CascadeButton is in a MenuBar and the
  58.       MenuBar does not have    the focus, the _M_A_l_t modifier must be
  59.       pressed with the mnemonic.  Mnemonics    are typically used to
  60.  
  61.  
  62.  
  63.      Page 1                        (printed 11/11/03)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV       XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  71.  
  72.  
  73.  
  74.       interact with    a menu via the keyboard    interface.
  75.  
  76.       If in    a Pulldown or Popup MenuPane and there is a submenu
  77.       attached, the    _X_m_N_m_a_r_g_i_n_B_o_t_t_o_m, _X_m_N_m_a_r_g_i_n_L_e_f_t,
  78.       _X_m_N_m_a_r_g_i_n_R_i_g_h_t, and _X_m_N_m_a_r_g_i_n_T_o_p resources may enlarge to
  79.       accommodate _X_m_N_c_a_s_c_a_d_e_P_i_x_m_a_p.     _X_m_N_m_a_r_g_i_n_W_i_d_t_h    defaults to 6
  80.       if this resource is in a MenuBar; otherwise, it takes
  81.       Label's default, which is 2.
  82.  
  83.     CCCCllllaaaasssssssseeeessss
  84.       CascadeButton    inherits behavior and resources    from _C_o_r_e,
  85.       _X_m_P_r_i_m_i_t_i_v_e, and _X_m_L_a_b_e_l classes.
  86.  
  87.       The class pointer is _x_m_C_a_s_c_a_d_e_B_u_t_t_o_n_W_i_d_g_e_t_C_l_a_s_s.
  88.  
  89.       The class name is _X_m_C_a_s_c_a_d_e_B_u_t_t_o_n.
  90.  
  91.     NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  92.       The following    table defines a    set of widget resources    used
  93.       by the programmer to specify data.  The programmer can also
  94.       set the resource values for the inherited classes to set
  95.       attributes for this widget.  To reference a resource by name
  96.       or by    class in a .Xdefaults file, remove the _X_m_N or _X_m_C
  97.       prefix and use the remaining letters.     To specify one    of the
  98.       defined values for a resource    in a .Xdefaults    file, remove
  99.       the _X_m prefix    and use    the remaining letters (in either
  100.       lowercase or uppercase, but include any underscores between
  101.       words).  The codes in    the access column indicate if the
  102.       given    resource can be    set at creation    time (C), set by using
  103.       _X_t_S_e_t_V_a_l_u_e_s (S), retrieved by    using _X_t_G_e_t_V_a_l_u_e_s (G), or is
  104.       not applicable (N/A).
  105.  
  106.                 XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  107.      NNNNaaaammmmeeee            CCCCllllaaaassssssss          TTTTyyyyppppeeee           DDDDeeeeffffaaaauuuulllltttt     AAAAcccccccceeeessssssss
  108.      __________________________________________________________________________
  109.      XmNactivateCallback    XmCCallback          XtCallbackList   NULL     C
  110.      XmNcascadePixmap        XmCPixmap          Pixmap           dynamic     CSG
  111.      XmNcascadingCallback   XmCCallback          XtCallbackList   NULL     C
  112.      XmNmappingDelay        XmCMappingDelay   int           180 ms     CSG
  113.      XmNsubMenuId        XmCMenuWidget     Widget           NULL     CSG
  114.  
  115.  
  116.       _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k
  117.            Specifies the list of callbacks that is called when the
  118.            user activates the CascadeButton    widget,    and there is
  119.            no submenu attached to pop up.  The activation occurs
  120.            by releasing a mouse button or by typing    the mnemonic
  121.            associated with the widget.  The    specific mouse button
  122.            depends on information in the RowColumn parent.    The
  123.            reason sent by the callback is _X_m_C_R__A_C_T_I_V_A_T_E.
  124.  
  125.       _X_m_N_c_a_s_c_a_d_e_P_i_x_m_a_p
  126.  
  127.  
  128.  
  129.      Page 2                        (printed 11/11/03)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV       XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  137.  
  138.  
  139.  
  140.            Specifies the cascade pixmap displayed on one end of
  141.            the widget when a CascadeButton is used within a    Popup
  142.            or Pulldown MenuPane and    a submenu is attached.    The
  143.            Label class resources _X_m_N_m_a_r_g_i_n_B_o_t_t_o_m, _X_m_N_m_a_r_g_i_n_L_e_f_t,
  144.            _X_m_N_m_a_r_g_i_n_R_i_g_h_t, and _X_m_N_m_a_r_g_i_n_T_o_p    may be modified    to
  145.            ensure that room    is left    for the    cascade    pixmap.     The
  146.            default cascade pixmap is an arrow pointing to the side
  147.            of the menu where the submenu will appear.
  148.  
  149.       _X_m_N_c_a_s_c_a_d_i_n_g_C_a_l_l_b_a_c_k
  150.            Specifies the list of callbacks that is called just
  151.            prior to    the mapping of the submenu associated with
  152.            CascadeButton.  The reason sent by the callback is
  153.            _X_m_C_R__C_A_S_C_A_D_I_N_G.
  154.  
  155.       _X_m_N_m_a_p_p_i_n_g_D_e_l_a_y
  156.            Specifies the amount of time, in    milliseconds, between
  157.            when a CascadeButton becomes armed and when it maps its
  158.            submenu.     This delay is used only when the widget is
  159.            within a    Popup or Pulldown MenuPane.  The value must
  160.            not be negative.
  161.  
  162.       _X_m_N_s_u_b_M_e_n_u_I_d
  163.            Specifies the widget ID for the Pulldown    MenuPane to be
  164.            associated with this CascadeButton.  The    specified
  165.            MenuPane    is displayed when the CascadeButton becomes
  166.            armed.  The MenuPane must have been created with    the
  167.            appropriate parentage depending on the type of menu
  168.            used.  See _X_m_C_r_e_a_t_e_M_e_n_u_B_a_r(_3_X),
  169.            _X_m_C_r_e_a_t_e_P_u_l_l_d_o_w_n_M_e_n_u(_3_X), and _X_m_C_r_e_a_t_e_P_o_p_u_p_M_e_n_u(_3_X) for
  170.            more information    on the menu systems.
  171.  
  172.     IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  173.       CascadeButton    inherits behavior and resources    from the
  174.       following superclasses.  For a complete description of each
  175.       resource, refer to the man page for that superclass.
  176.  
  177.                         XXXXmmmmLLLLaaaabbbbeeeellll    RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  178.      NNNNaaaammmmeeee             CCCCllllaaaassssssss                 TTTTyyyyppppeeee         DDDDeeeeffffaaaauuuulllltttt          AAAAcccccccceeeessssssss
  179.      ___________________________________________________________________________________________________________
  180.      XmNaccelerator         XmCAccelerator             String         NULL              N/A
  181.      XmNacceleratorText         XmCAcceleratorText         XmString         NULL              N/A
  182.      XmNalignment         XmCAlignment             unsigned char     dynamic          CSG
  183.      XmNfontList         XmCFontList             XmFontList         dynamic          CSG
  184.      XmNlabelInsensitivePixmap     XmCLabelInsensitivePixmap   Pixmap         XmUNSPECIFIED_PIXMAP      CSG
  185.      XmNlabelPixmap         XmCLabelPixmap             Pixmap         XmUNSPECIFIED_PIXMAP      CSG
  186.      XmNlabelString         XmCXmString             XmString         dynamic          CSG
  187.      XmNlabelType         XmCLabelType             unsigned char     XmSTRING          CSG
  188.      XmNmarginBottom         XmCMarginBottom         Dimension         dynamic          CSG
  189.      XmNmarginHeight         XmCMarginHeight         Dimension         2              CSG
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                        (printed 11/11/03)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV       XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  203.  
  204.  
  205.  
  206.      XmNmarginLeft         XmCMarginLeft             Dimension         0              CSG
  207.      XmNmarginRight         XmCMarginRight             Dimension         dynamic          CSG
  208.      XmNmarginTop         XmCMarginTop             Dimension         dynamic          CSG
  209.      XmNmarginWidth         XmCMarginWidth             Dimension         dynamic          CSG
  210.      XmNmnemonic         XmCMnemonic             KeySym         NULL              CSG
  211.      XmNmnemonicCharSet         XmCMnemonicCharSet         String         XmFONTLIST_DEFAULT_TAG      CSG
  212.      XmNrecomputeSize         XmCRecomputeSize         Boolean         True              CSG
  213.      XmNstringDirection         XmCStringDirection         XmStringDirection     dynamic          CSG
  214.  
  215.  
  216.                      XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  217.      NNNNaaaammmmeeee             CCCCllllaaaassssssss             TTTTyyyyppppeeee        DDDDeeeeffffaaaauuuulllltttt               AAAAcccccccceeeessssssss
  218.      ________________________________________________________________________________________________
  219.      XmNbottomShadowColor    XmCBottomShadowColor    Pixel        dynamic               CSG
  220.      XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap        XmUNSPECIFIED_PIXMAP   CSG
  221.      XmNforeground         XmCForeground         Pixel        dynamic               CSG
  222.      XmNhelpCallback         XmCCallback         XtCallbackList    NULL               C
  223.      XmNhighlightColor         XmCHighlightColor         Pixel        dynamic               CSG
  224.      XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean        False               CSG
  225.      XmNhighlightPixmap         XmCHighlightPixmap         Pixmap        dynamic               CSG
  226.      XmNhighlightThickness   XmCHighlightThickness   Dimension        0               CSG
  227.      XmNnavigationType         XmCNavigationType         XmNavigationType    XmNONE               CSG
  228.      XmNshadowThickness         XmCShadowThickness         Dimension        2               CSG
  229.      XmNtopShadowColor         XmCTopShadowColor         Pixel        dynamic               CSG
  230.      XmNtopShadowPixmap         XmCTopShadowPixmap         Pixmap        dynamic               CSG
  231.      XmNtraversalOn         XmCTraversalOn         Boolean        dynamic               G
  232.      XmNunitType         XmCUnitType         unsigned char    dynamic               CSG
  233.      XmNuserData         XmCUserData         XtPointer        NULL               CSG
  234.  
  235.  
  236.                            CCCCoooorrrreeee    RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  237.      NNNNaaaammmmeeee                 CCCCllllaaaassssssss                 TTTTyyyyppppeeee          DDDDeeeeffffaaaauuuulllltttt             AAAAcccccccceeeessssssss
  238.      ______________________________________________________________________________________________________________
  239.      XmNaccelerators             XmCAccelerators             XtAccelerators   dynamic             CSG
  240.      XmNancestorSensitive         XmCSensitive             Boolean          dynamic             G
  241.      XmNbackground             XmCBackground             Pixel          dynamic             CSG
  242.      XmNbackgroundPixmap         XmCPixmap                 Pixmap          XmUNSPECIFIED_PIXMAP   CSG
  243.      XmNborderColor             XmCBorderColor             Pixel          XtDefaultForeground    CSG
  244.      XmNborderPixmap             XmCPixmap                 Pixmap          XmUNSPECIFIED_PIXMAP   CSG
  245.      XmNborderWidth             XmCBorderWidth             Dimension          0                 CSG
  246.      XmNcolormap             XmCColormap             Colormap          dynamic             CG
  247.      XmNdepth                 XmCDepth                 int          dynamic             CG
  248.      XmNdestroyCallback             XmCCallback             XtCallbackList   NULL             C
  249.      XmNheight                 XmCHeight                 Dimension          dynamic             CSG
  250.      XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True             C
  251.      XmNmappedWhenManaged         XmCMappedWhenManaged         Boolean          True             CSG
  252.      XmNscreen                 XmCScreen                 Screen *          dynamic             CG
  253.      XmNsensitive             XmCSensitive             Boolean          True             CSG
  254.      XmNtranslations             XmCTranslations             XtTranslations   dynamic             CSG
  255.      XmNwidth                 XmCWidth                 Dimension          dynamic             CSG
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                        (printed 11/11/03)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV       XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  269.  
  270.  
  271.  
  272.      XmNx                 XmCPosition             Position          0                 CSG
  273.      XmNy                 XmCPosition             Position          0                 CSG
  274.  
  275.  
  276.     CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  277.       A pointer to the following structure is passed to each
  278.       callback:
  279.       typedef struct
  280.       {
  281.         int         rrrreeeeaaaassssoooonnnn;
  282.         _X_E_v_e_n_t   **** eeeevvvveeeennnntttt;
  283.       } _X_m_A_n_y_C_a_l_l_b_a_c_k_S_t_r_u_c_t;
  284.  
  285.       rrrreeeeaaaassssoooonnnn
  286.            Indicates why the callback was invoked.
  287.  
  288.       eeeevvvveeeennnntttt
  289.            Points to the _X_E_v_e_n_t that triggered the callback    or is
  290.            NULL if this callback was not triggered due to an
  291.            _X_E_v_e_n_t.
  292.  
  293.     TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  294.       XmCascadeButton includes translations    from Primitive.
  295.       XmCascadeButton includes the menu traversal translations
  296.       from XmLabel.     These translations may    not directly
  297.       correspond to    a translation table.
  298.  
  299.       Note that altering translations in #_o_v_e_r_r_i_d_e or #_a_u_g_m_e_n_t
  300.       mode is undefined.
  301.  
  302.       The translations for a CascadeButton in a MenuBar are    listed
  303.       below.  These    translations may not directly correspond to a
  304.       translation table.
  305.       BSelect Press: MenuBarSelect()
  306.       BSelect Release:DoSelect()
  307.       KActivate:     KeySelect()
  308.       KSelect:     KeySelect()
  309.       KHelp:     Help()
  310.       MAny KCancel:     CleanupMenuBar()
  311.  
  312.       The translations for a CascadeButton in a PullDown or    Popup
  313.       MenuPane are listed below.  In a menu    system,    _B_M_e_n_u also
  314.       performs the _B_S_e_l_e_c_t actions.     These translations may    not
  315.       directly correspond to a translation table.
  316.       BSelect Press: StartDrag()
  317.       BSelect Release:DoSelect()
  318.       KActivate:     KeySelect()
  319.       KSelect:     KeySelect()
  320.       KHelp:     Help()
  321.       MAny KCancel:     CleanupMenuBar()
  322.  
  323.     AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  324.  
  325.  
  326.  
  327.      PPPPaaaaggggeeee 5555                        ((((pppprrrriiiinnnntttteeeedddd 11111111////11111111////00003333))))
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV       XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  335.  
  336.  
  337.  
  338.       The XmCascadeButton action routines are described below:
  339.  
  340.       _C_l_e_a_n_u_p_M_e_n_u_B_a_r():
  341.            In a MenuBar, disarms the CascadeButton and the menu
  342.            and, when the shell's keyboard focus policy is
  343.            _X_m_E_X_P_L_I_C_T, restores keyboard focus to the widget    that
  344.            had the focus before the    menu was entered.
  345.  
  346.       In a toplevel    Pulldown MenuPane from a MenuBar, unposts the
  347.       menu,    disarms    the MenuBar CascadeButton and the MenuBar,
  348.       and, when the    shell's    keyboard focus policy is _X_m_E_X_P_L_I_C_T,
  349.       restores keyboard focus to the widget    that had the focus
  350.       before the MenuBar was entered.  In other Pulldown
  351.       MenuPanes, unposts the menu.
  352.  
  353.       In a Popup MenuPane, unposts the menu    and, when the shell's
  354.       keyboard focus policy    is _X_m_E_X_P_L_I_C_T, restores keyboard    focus
  355.       to the widget    from which the menu was    posted.
  356.  
  357.       _D_o_S_e_l_e_c_t():
  358.            Calls the callbacks in _X_m_N_c_a_s_c_a_d_i_n_g_C_a_l_l_b_a_c_k, posts the
  359.            submenu attached    to the CascadeButton and enables
  360.            keyboard    traversal within the menu.  If the
  361.            CascadeButton does not have a submenu attached, calls
  362.            the callbacks in    _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k, the CascadeButton
  363.            is activated and    all posted menus in the    cascade    are
  364.            unposted.
  365.  
  366.       _H_e_l_p():
  367.            Unposts all menus in the    menu hierarchy and, when the
  368.            shell's keyboard    focus policy is    _X_m_E_X_P_L_I_C_T, restores
  369.            keyboard    focus to the widget that had the focus before
  370.            the menu    system was entered.  Calls the callbacks for
  371.            _X_m_N_h_e_l_p_C_a_l_l_b_a_c_k if any exist.  If there are no help
  372.            callbacks for this widget, this action calls the    help
  373.            callbacks for the nearest ancestor that has them.
  374.  
  375.       _K_e_y_S_e_l_e_c_t():
  376.            Calls the callbacks in _X_m_N_c_a_s_c_a_d_i_n_g_C_a_l_l_b_a_c_k, and    posts
  377.            the submenu attached to the CascadeButton if keyboard
  378.            traversal is enabled in the menu.  If the CascadeButton
  379.            does not    have a submenu attached, calls the callbacks
  380.            in _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k, the CascadeButton is activated
  381.            and all posted menus in the cascade are unposted.
  382.  
  383.       _M_e_n_u_B_a_r_S_e_l_e_c_t():
  384.            Unposts any menus posted    by the parent menu.  Arms both
  385.            the CascadeButton and the MenuBar, posts    the associated
  386.            submenu,    and enables mouse traversal.  If the menu is
  387.            already active, this event disables keyboard traversal
  388.            for the menu and    returns    the menu to mouse traversal
  389.            mode.
  390.  
  391.  
  392.  
  393.      Page 6                        (printed 11/11/03)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV       XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  401.  
  402.  
  403.  
  404.       _S_t_a_r_t_D_r_a_g():
  405.            Arms the    CascadeButton, posts the associated submenu,
  406.            and enables mouse traversal.  If    the menu is already
  407.            active, this event disables keyboard traversal for the
  408.            menu and    returns    the menu to mouse traversal mode.
  409.  
  410.     AAAAddddddddiiiittttiiiioooonnnnaaaallll BBBBeeeehhhhaaaavvvviiiioooorrrr
  411.       Posting a submenu calls the _X_m_N_c_a_s_c_a_d_i_n_g_C_a_l_l_b_a_c_k callbacks.
  412.       This widget has the additional behavior described below:
  413.  
  414.       <_E_n_t_e_r_W_i_n_d_o_w>:
  415.            If keyboard traversal is    enabled    does nothing.
  416.            Otherwise, in a MenuBar that is armed, unposts any
  417.            MenuPanes associated with another MenuBar entry,    arms
  418.            the CascadeButton, and posts the    associated submenu.
  419.            In other    menus, arms the    CascadeButton and posts    the
  420.            associated submenu after    the delay specified by
  421.            _X_m_N_m_a_p_p_i_n_g_D_e_l_a_y.
  422.  
  423.       <_L_e_a_v_e_W_i_n_d_o_w>:
  424.            If keyboard traversal is    enabled    does nothing.
  425.            Otherwise, in a MenuBar that is armed, disarms the
  426.            CascadeButton if    the submenu associated with the
  427.            CascadeButton is    not currently posted or    if there is no
  428.            submenu associated with the CascadeButton.
  429.  
  430.       In other menus, if the pointer moves anywhere    except into a
  431.       submenu associated with the CascadeButton, the CascadeButton
  432.       is disarmed and its submenu is unposted.
  433.  
  434.     VVVViiiirrrrttttuuuuaaaallll    BBBBiiiinnnnddddiiiinnnnggggssss
  435.       The bindings for virtual keys    are vendor specific.  For
  436.       information about bindings for virtual buttons and keys, see
  437.       _V_i_r_t_u_a_l_B_i_n_d_i_n_g_s(_3_X).
  438.  
  439.      RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  440.       _C_o_r_e(_3_X), _X_m_C_a_s_c_a_d_e_B_u_t_t_o_n_H_i_g_h_l_i_g_h_t(_3_X),
  441.       _X_m_C_r_e_a_t_e_C_a_s_c_a_d_e_B_u_t_t_o_n(_3_X),_X_m_C_r_e_a_t_e_M_e_n_u_B_a_r(_3_X),
  442.       _X_m_C_r_e_a_t_e_P_u_l_l_d_o_w_n_M_e_n_u(_3_X), _X_m_C_r_e_a_t_e_P_o_p_u_p_M_e_n_u(_3_X),
  443.       _X_m_D_i_s_p_l_a_y(_3_X), _X_m_L_a_b_e_l(_3_X), _X_m_P_r_i_m_i_t_i_v_e(_3_X), and
  444.       _X_m_R_o_w_C_o_l_u_m_n(_3_X).
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                        (printed 11/11/03)
  460.  
  461.  
  462.  
  463.